package com.zkthink.ceres.pay.wechat.v3.entity.request.applyments;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 支付者信息
 * </p>
 *
 * @author vivi.huang
 * @since 2020/5/17
 */
@Data
@EqualsAndHashCode()
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class AccountValidation implements Serializable {


    private static final long serialVersionUID = 8451036970675370424L;


    /**
     * 付款户名	account_name	uint64	否	需商户使用该户名的账户进行汇款。
     * 示例值： rDdICA3ZYXshYqeOSslSjSMf+MhhC4oaujiISFzq3AE+as7mAEDJly+DgRuVs74msmKUH8pl+3oA==
     */
    @JSONField(name = "account_name")
    private String accountName;

    /**
     * 付款卡号	account_no	string(128)	否	结算账户为对私时会返回，商户需使用该付款卡号进行汇款。
     * 示例值：9nZYDEvBT4rDdICA3ZYXshYqeOSslSjSauAE+as7mAEDJly+DgRuVs74msmKUH8pl+3oA==
     */
    @JSONField(name = "account_no")
    private String accountNo;

    /**
     * 汇款金额	pay_amount	string(32)	否	需要汇款的金额(单位：分)。
     * 示例值：124
     */
    @JSONField(name = "pay_amount")
    private String payAmount;

    /**
     * 收款卡号	destination_account_number	string(128)	否	收款账户的卡号
     * 示例值：7222223333322332
     */
    @JSONField(name = "destination_account_number")
    private String destinationAccountNumber;

    /**
     * 收款户名	destination_account_name	string(128)	否	收款账户名
     * 示例值：财付通支付科技有限公司
     */
    @JSONField(name = "destination_account_name")
    private String destinationAccountName;

    /**
     * 开户银行	destination_account_bank	string(128)	否	收款账户的开户银行名称。
     * 示例值：招商银行威盛大厦支行
     */
    @JSONField(name = "destination_account_bank")
    private String destinationAccountBank;

    /**
     * 省市信息	city	string(128)	否	收款账户的省市。
     * 示例值：深圳
     */
    @JSONField(name = "city")
    private String city;

    /**
     * 备注信息	remark	string(128)	否	商户汇款时，需要填写的备注信息。
     * 示例值：入驻账户验证
     */
    @JSONField(name = "remark")
    private String remark;

    /**
     * 汇款截止时间	deadline	string(20)	否	请在此时间前完成汇款。
     * 示例值：2018-12-1017:09:01
     */
    @JSONField(name = "deadline")
    private String deadline;



}